package com.aspose.cells;

import java.util.ArrayList;
import java.util.Iterator;

class zty {
   private Workbook b;
   znz a;
   private zof c;
   private static final com.aspose.cells.b.c.a.za d = new com.aspose.cells.b.c.a.za(new String[]{"none", "solid"});

   zty(Workbook var1, zof var2) {
      this.b = var1;
      this.c = var2;
   }

   void a(zcfx var1) throws Exception {
      this.a = znz.a(this.b);
      var1.b(true);
      var1.b("styleSheet");
      this.b(var1);
      this.h(var1);
      this.i(var1);
      this.a(var1, this.c);
      this.b(var1, this.c);
      this.d(var1, this.c);
      this.e(var1, this.c);
      this.c(var1, this.c);
      this.j(var1);
      this.f(var1);
      this.g(var1);
      this.c(var1);
      var1.b();
      var1.d();
      var1.e();
   }

   private void b(zcfx var1) throws Exception {
      if (zase.a) {
         var1.a("xmlns", zase.c);
      } else {
         var1.a("xmlns", zase.d);
      }

      if (this.b.b != null) {
         Object var2 = this.b.b.l.a(4);
         if (var2 != null) {
            Iterator var3 = ((ArrayList)var2).iterator();

            while(var3.hasNext()) {
               Object var4 = var3.next();
               znm var5 = (znm)var4;
               var1.a(var5.a, var5.b);
            }
         }
      }

   }

   private void c(zcfx var1) throws Exception {
      if (this.b.b == null) {
         if (this.b.getWorksheets().Y().getCount() > 0 && this.b.getWorksheets().X().getCount() > 0) {
            var1.b("extLst");
            this.d(var1);
            this.e(var1);
            var1.b();
         }

      } else {
         Object var2 = this.b.b.l.a(5);
         if (var2 != null) {
            zcfk var3 = zass.a((String)((String)var2), (zcft)null, true);
            zcfs var4 = var3.b("ext", (String)null);
            ArrayList var5 = new ArrayList();
            ArrayList var6 = new ArrayList();
            Iterator var7 = var4.iterator();

            while(true) {
               zcfl var9;
               do {
                  if (!var7.hasNext()) {
                     if (var5.size() > 0 || this.b.getWorksheets().Y().getCount() > 0 && this.b.getWorksheets().X().getCount() > 0) {
                        var1.b("extLst");

                        int var10;
                        for(var10 = 0; var10 < var5.size(); ++var10) {
                           var1.d(((zcfl)var5.get(var10)).c());
                        }

                        this.d(var1);
                        this.e(var1);

                        for(var10 = 0; var10 < var6.size(); ++var10) {
                           var1.d(((zcfl)var6.get(var10)).c());
                        }

                        var1.b();
                     } else {
                        var1.d((String)var2);
                     }

                     return;
                  }

                  zcfq var8 = (zcfq)var7.next();
                  var9 = (zcfl)var8;
               } while(var9.e().a("uri") != null && ("{46F421CA-312F-682f-3DD2-61675219B42D}".equals(var9.e().a("uri").h) || "{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}".equals(var9.e().a("uri").h)));

               if ("{9260A510-F301-46a8-8635-F512D64BE5F5}".equals(var9.e().a("uri").h)) {
                  com.aspose.cells.b.a.a.ze.a(var6, (Object)var9);
               } else {
                  com.aspose.cells.b.a.a.ze.a(var5, (Object)var9);
               }
            }
         }
      }
   }

   private void d(zcfx var1) throws Exception {
      DxfCollection var2 = this.b.getWorksheets().Y();
      int var3 = var2.getCount();
      if (var3 > 0) {
         var1.b("ext");
         var1.a("uri", "{46F421CA-312F-682f-3DD2-61675219B42D}");
         var1.a("xmlns:x14", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/main");
         var1.b("x14:dxfs");
         var1.a("count", zase.y(var3));

         for(int var4 = 0; var4 < var3; ++var4) {
            Style var5 = var2.get(var4);
            this.a((zcfx)var1, (Style)var5, (String)null);
         }

         var1.b();
         var1.b();
      }

   }

   private void e(zcfx var1) throws Exception {
      zbnd var2 = this.b.getWorksheets().X();
      int var3 = var2.getCount();
      if (var3 > 0) {
         var1.b("ext");
         var1.a("uri", "{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}");
         var1.a("xmlns:x14", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/main");
         var1.b("x14:slicerStyles");
         var1.a("defaultSlicerStyle", var2.b());

         for(int var4 = 0; var4 < var3; ++var4) {
            this.a(var1, var2.a(var4));
         }

         var1.b();
         var1.b();
      }

   }

   private void a(zcfx var1, zbnc var2) throws Exception {
      var1.b("x14:slicerStyle");
      var1.a("name", var2.b());
      if (var2.a().getCount() > 0) {
         var1.b("x14:slicerStyleElements");
         zbnf var3 = var2.a();

         for(int var4 = 0; var4 < var3.getCount(); ++var4) {
            var1.b("x14:slicerStyleElement");
            var1.a("type", zbng.c(var3.a(var4).a()));
            var1.a("dxfId", zase.y(var3.a(var4).a));
            var1.b();
         }

         var1.b();
      }

      var1.b();
   }

   private void f(zcfx var1) throws Exception {
      TableStyleCollection var2 = this.b.getWorksheets().Z();
      if (var2 != null) {
         int var3 = var2.getCount();
         var1.b("tableStyles");
         var1.a("count", zase.y(var3));
         String var4 = var2.a();
         if (var4 != null) {
            var1.a("defaultTableStyle", var2.a());
         }

         if (var2.b() != null) {
            var1.a("defaultPivotStyle", var2.b());
         }

         for(int var5 = 0; var5 < var3; ++var5) {
            TableStyle var6 = var2.get(var5);
            this.a(var6, var1);
         }

         var1.b();
      }
   }

   private void a(TableStyle var1, zcfx var2) throws Exception {
      var2.b("tableStyle");
      var2.a("name", var1.getName());
      if (!var1.b()) {
         var2.a("pivot", "0");
      }

      if (!var1.c()) {
         var2.a("table", "0");
      }

      TableStyleElementCollection var3 = var1.getTableStyleElements();
      if (var3 != null && var3.getCount() != 0) {
         int var4 = var3.getCount();
         var2.a("count", zase.y(var4));

         for(int var5 = 0; var5 < var4; ++var5) {
            TableStyleElement var6 = var3.get(var5);
            int var7 = var6.getType();
            if (var1.b() || !var1.c()) {
               if (var7 == 28) {
                  var7 = 7;
               } else if (var7 == 29) {
                  var7 = 10;
               }
            }

            var2.b("tableStyleElement");
            var2.a("type", zase.au(var7));
            if (var6.getSize() != 1) {
               var2.a("size", zase.y(var6.getSize()));
            }

            if (var6.a != -1) {
               var2.a("dxfId", zase.y(var6.a));
            }

            var2.b();
         }
      }

      var2.b();
   }

   private void g(zcfx var1) throws Exception {
      var1.b("colors");
      var1.b("indexedColors");
      this.a(var1, 0, 64);
      var1.b();
      var1.b();
   }

   private void a(zcfx var1, int var2, int var3) throws Exception {
      for(int var4 = var2; var4 < var3; ++var4) {
         Color var5 = this.b.getWorksheets().m().e(var4);
         int var6 = var5.toArgb();
         String var7 = "00" + com.aspose.cells.a.c.zp.e(var6).substring(2);
         var1.b("rgbColor");
         var1.a("rgb", var7);
         var1.b();
      }

   }

   private void h(zcfx var1) throws Exception {
      ArrayList var2 = this.b.getWorksheets().A();
      int var3 = var2.size();
      if (var3 != 0) {
         var1.b("numFmts");
         var1.a("count", zase.y(var3));
         Iterator var4 = var2.iterator();

         while(var4.hasNext()) {
            zxw var5 = (zxw)var4.next();
            var1.b("numFmt");
            var1.a("numFmtId", zase.y(var5.b()));
            var1.a("formatCode", zase.a(var5.a()));
            var1.b();
         }

         var1.b();
      }
   }

   static void a(Font var0, zcfx var1, String var2) throws Exception {
      if (var0.isBold()) {
         var1.b("b", (String)null);
      }

      if (var0.isItalic()) {
         var1.b("i", (String)null);
      }

      if (var0.getUnderline() != 0) {
         var1.b("u");
         var1.a("val", zase.w(var0.getUnderline()));
         var1.b();
      }

      if (var0.isStrikeout()) {
         var1.b("strike", (String)null);
      }

      if (var0.isSubscript() || var0.isSuperscript()) {
         String var3 = null;
         if (var0.isSubscript()) {
            var3 = "subscript";
         }

         if (var0.isSuperscript()) {
            var3 = "superscript";
         }

         var1.b("vertAlign");
         var1.a("val", var3);
         var1.b();
      }

      var1.b("sz");
      var1.a("val", zase.b(var0.getDoubleSize()));
      var1.b();
      if (!var0.b.a()) {
         a(var1, var0.b, "color");
      }

      if (var0.getName() != null && !"".equals(var0.getName())) {
         var1.b(var2);
         var1.a("val", zase.a(var0.getName()));
         var1.b();
      }

      var1.b("family");
      var1.a("val", zase.a(var0.h()));
      var1.b();
      if (var0.getCharset() != 0) {
         var1.b("charset");
         var1.a("val", zase.y(var0.getCharset()));
         var1.b();
      }

      if (var0.a() != null) {
         var1.b("scheme");
         var1.a("val", var0.a());
         var1.b();
      }

   }

   private void i(zcfx var1) throws Exception {
      ArrayList var2 = this.a.a;
      var1.b("fonts");
      var1.a("count", zase.y(var2.size()));
      Iterator var3 = var2.iterator();

      while(var3.hasNext()) {
         Font var4 = (Font)var3.next();
         var1.b("font");
         a(var4, var1, "name");
         var1.b();
      }

      var1.b();
   }

   private void a(zcfx var1, zof var2) throws Exception {
      ArrayList var3 = var2.a;
      var1.b("fills");
      var1.a("count", zase.y(var3.size()));
      Iterator var4 = var3.iterator();

      while(var4.hasNext()) {
         zon var5 = (zon)var4.next();
         this.a(var1, var5);
      }

      var1.b();
   }

   private void a(zcfx var1, zon var2) throws Exception {
      var1.b("fill");
      if (var2.c != null) {
         this.b(var1, var2);
      } else {
         var1.b("patternFill");
         switch(d.a(var2.b.a)) {
         case 0:
            break;
         case 1:
            var1.a("patternType", "solid");
            a(var1, var2.b.b, "fgColor");
            var1.b("bgColor");
            var1.a("indexed", "64");
            var1.b();
            break;
         default:
            var1.a("patternType", var2.b.a);
            if (!var2.b.b.a()) {
               a(var1, var2.b.b, "fgColor");
            }

            if (!var2.b.c.a()) {
               a(var1, var2.b.c, "bgColor");
            }
         }

         var1.b();
      }

      var1.b();
   }

   private void b(zcfx var1, zon var2) throws Exception {
      znq var3 = var2.c;
      var1.b("gradientFill");
      if (var3.f != 0) {
         var1.a("degree", zase.y(var3.f));
      }

      if (var3.e != null) {
         var1.a("type", var3.e);
      }

      if (var3.a != 0.0D) {
         var1.a("left", zase.b(var3.a));
      }

      if (var3.b != 0.0D) {
         var1.a("right", zase.b(var3.b));
      }

      if (var3.c != 0.0D) {
         var1.a("top", zase.b(var3.c));
      }

      if (var3.d != 0.0D) {
         var1.a("bottom", zase.b(var3.d));
      }

      if (var3.g != null) {
         int var4 = var3.g.length;

         for(int var5 = 0; var5 < var4; ++var5) {
            var1.b("stop");
            var1.a("position", zase.b(var3.g[var5]));
            a(var1, var3.h[var5], "color");
            var1.b();
         }
      }

      var1.b();
   }

   private void b(zcfx var1, zof var2) throws Exception {
      ArrayList var3 = var2.b;
      var1.b("borders");
      var1.a("count", zase.y(var3.size()));
      Iterator var4 = var3.iterator();

      while(var4.hasNext()) {
         zno var5 = (zno)var4.next();
         var1.b("border");
         if (var5.j) {
            var1.a("diagonalUp", "1");
         }

         if (var5.i) {
            var1.a("diagonalDown", "1");
         }

         this.a(var1, var5.c, "left");
         this.a(var1, var5.e, "right");
         this.a(var1, var5.b, "top");
         this.a(var1, var5.d, "bottom");
         this.a(var1, var5.f, "diagonal");
         var1.b();
      }

      var1.b();
   }

   private void c(zcfx var1, zof var2) throws Exception {
      ArrayList var3 = var2.e;
      var1.b("cellStyles");
      var1.a("count", zase.y(var3.size()));
      Iterator var4 = var3.iterator();

      while(var4.hasNext()) {
         znr var5 = (znr)var4.next();
         var1.b("cellStyle");
         var1.a("name", var5.a);
         var1.a("xfId", zase.y(var5.b));
         var1.b();
      }

      var1.b();
   }

   private void d(zcfx var1, zof var2) throws Exception {
      ArrayList var3 = var2.c;
      var1.b("cellStyleXfs");
      var1.a("count", zase.y(var3.size()));
      Iterator var4 = var3.iterator();

      while(var4.hasNext()) {
         zqp var5 = (zqp)var4.next();
         this.a(var1, var5);
      }

      var1.b();
   }

   private void e(zcfx var1, zof var2) throws Exception {
      ArrayList var3 = var2.d;
      var1.b("cellXfs");
      var1.a("count", zase.y(var3.size()));
      Iterator var4 = var3.iterator();

      while(var4.hasNext()) {
         zqp var5 = (zqp)var4.next();
         this.a(var1, var5);
      }

      var1.b();
   }

   static void a(zcfx var0, zakp var1, String var2) throws Exception {
      a(var0, var1, var2, false);
   }

   private static void a(zcfx var0, zakp var1, String var2, boolean var3) throws Exception {
      if (var1.a() && var1.b() != 1) {
         if (var3) {
            var0.b(var2);
            var0.a("auto", "1");
            var0.b();
         }

      } else {
         String var4 = null;
         String var5 = null;
         switch(var1.b()) {
         case 1:
         case 3:
            var4 = "indexed";
            var5 = zase.y(var1.d());
            break;
         case 2:
            var4 = "rgb";
            var5 = "FF" + zase.a(Color.fromArgb(var1.d()));
            break;
         case 4:
            var4 = "theme";
            var5 = zase.y(var1.d());
         }

         var0.b(var2);
         var0.a(var4, var5);
         if (var1.f() != 0.0D) {
            var0.a("tint", zase.b(var1.f()));
         }

         var0.b();
      }
   }

   private void a(zcfx var1, znp var2, String var3) throws Exception {
      if (var2 != null) {
         var1.b(var3);
         if (var2.a != null && !"none".equals(var2.a)) {
            var1.a("style", var2.a);
         }

         if (!var2.b.a()) {
            a(var1, var2.b, "color");
         } else if (var2.a != null && !"none".equals(var2.a)) {
            var1.d("<color auto=\"1\"/>");
         }

         var1.b();
      }
   }

   private void a(zcfx var1, zqp var2) throws Exception {
      var1.b("xf");
      String var3 = zase.y(var2.e);
      if (var2.e == -1) {
         var3 = "0";
      }

      var1.a("numFmtId", var3);
      if (this.a.b.containsKey(var2.f)) {
         int var4 = (Integer)this.a.b.get(var2.f);
         var1.a("fontId", zase.y(var4));
      }

      if (var2.g != -1) {
         var1.a("fillId", zase.y(var2.g));
      }

      if (var2.h != -1) {
         var1.a("borderId", zase.y(var2.h));
      }

      if (var2.b) {
         var1.a("xfId", zase.y(var2.i));
      }

      Style var5;
      if (var2.b) {
         var5 = var2.r;
         if (var5.j()) {
            var1.a("applyNumberFormat", "1");
         }

         if (var5.k()) {
            var1.a("applyFont", "1");
         }

         if (var5.n()) {
            var1.a("applyFill", "1");
         }

         if (var5.m()) {
            var1.a("applyBorder", "1");
         }

         if (var5.l()) {
            var1.a("applyAlignment", "1");
         }

         if (var5.o()) {
            var1.a("applyProtection", "1");
         }
      } else {
         var5 = var2.r;
         if (!var5.j()) {
            var1.a("applyNumberFormat", "0");
         }

         if (!var5.k()) {
            var1.a("applyFont", "0");
         }

         if (!var5.n()) {
            var1.a("applyFill", "0");
         }

         if (!var5.m()) {
            var1.a("applyBorder", "0");
         }

         if (!var5.l()) {
            var1.a("applyAlignment", "0");
         }

         if (!var5.o()) {
            var1.a("applyProtection", "0");
         }
      }

      if (var2.r.t()) {
         var1.a("quotePrefix", "1");
      }

      if (var2.p) {
         this.a(var1, var2.c, false);
      }

      if (var2.q) {
         this.a(var1, var2.d, false);
      }

      var1.b();
   }

   private void a(zcfx var1, znl var2, Style var3) throws Exception {
      var1.b("alignment");
      if (var2.a != null && var3.isModified(25)) {
         var1.a("horizontal", var2.a);
      }

      if (var2.c != null && var3.isModified(26)) {
         var1.a("vertical", var2.c);
      }

      if (var3.isModified(28)) {
         var1.a("textRotation", zase.y(var2.a()));
      }

      if (var3.isModified(29)) {
         var1.a("wrapText", var3.isTextWrapped() ? "1" : "0");
      }

      if (var3.isModified(27)) {
         var1.a("indent", zase.y(var2.c()));
      }

      if (var3.isModified(30)) {
         var1.a("shrinkToFit", var3.getShrinkToFit() ? "1" : "0");
      }

      if (var3.isModified(31)) {
         var1.a("readingOrder", zase.u(var2.e()));
      }

      var1.b();
   }

   private void a(zcfx var1, znl var2, boolean var3) throws Exception {
      var1.b("alignment");
      if (var2.a != null) {
         if (var3 || !"general".equals(var2.a)) {
            var1.a("horizontal", var2.a);
         }

         if (var2.b) {
            var1.a("justifyLastLine", "1");
         }
      }

      if (var2.c != null && (var3 || !"bottom".equals(var2.c))) {
         var1.a("vertical", var2.c);
      }

      if (var3 || var2.a() > 0) {
         var1.a("textRotation", zase.y(var2.a()));
      }

      if (var3 || var2.b()) {
         var1.a("wrapText", "1");
      }

      if (var3 || var2.c() > 0) {
         var1.a("indent", zase.y(var2.c()));
      }

      if (var3 || var2.d()) {
         var1.a("shrinkToFit", "1");
      }

      if (var3 || var2.e() != 0) {
         var1.a("readingOrder", zase.u(var2.e()));
      }

      var1.b();
   }

   private void a(zcfx var1, zqd var2, boolean var3) throws Exception {
      if (var2 != null) {
         var1.b("protection");
         if (var3 || var2.b) {
            var1.a("hidden", "1");
         }

         if (var3 || !var2.a) {
            var1.a("locked", "0");
         }

         var1.b();
      }
   }

   private void j(zcfx var1) throws Exception {
      DxfCollection var2 = this.b.getWorksheets().getDxfs();
      int var3 = var2.getCount();
      if (var3 != 0) {
         var1.b("dxfs");
         var1.a("count", zase.y(var3));

         for(int var4 = 0; var4 < var2.getCount(); ++var4) {
            Style var5 = var2.get(var4);
            this.a((zcfx)var1, (Style)var5, (String)null);
         }

         var1.b();
      }
   }

   static void a(Style var0, Font var1, zcfx var2, String var3) throws Exception {
      if (var0.isModified(17)) {
         if (var1.isBold()) {
            var2.b("b", (String)null);
         } else {
            a(var2, "b", "0");
         }
      }

      if (var0.isModified(18)) {
         if (var1.isItalic()) {
            var2.b("i", (String)null);
         } else {
            a(var2, "i", "0");
         }
      }

      if (var0.isModified(19)) {
         a(var2, "u", zase.w(var1.getUnderline()));
      }

      if (var0.isModified(20)) {
         if (var1.isStrikeout()) {
            var2.b("strike", (String)null);
         } else {
            a(var2, "strike", "0");
         }
      }

      if (var0.isModified(23) && (var1.isSubscript() || var1.isSuperscript())) {
         String var4 = null;
         if (var1.isSubscript()) {
            var4 = "subscript";
         }

         if (var1.isSuperscript()) {
            var4 = "superscript";
         }

         var2.b("vertAlign");
         var2.a("val", var4);
         var2.b();
      }

      if (var0.isModified(12)) {
         a(var2, "sz", zase.y(var1.getSize()));
      }

      if (var0.isModified(13) && var1.getName() != null) {
         a(var2, var3, zase.a(var1.getName()));
      }

      if (var0.isModified(14)) {
         a(var2, "family", zase.a(var1.h()));
      }

      if (var0.isModified(16)) {
         a(var2, var1.b, "color", true);
      }

   }

   private static void a(zcfx var0, String var1, String var2) throws Exception {
      var0.b(var1);
      var0.a("val", var2);
      var0.b();
   }

   private void a(Style var1, zcfx var2, zon var3) throws Exception {
      var2.b("fill");
      if (var3.c != null) {
         this.b(var2, var3);
      } else {
         var2.b("patternFill");
         if (var1.isModified(33)) {
            var2.a("patternType", var3.b.a);
         }

         if (var1.isModified(34)) {
            a(var2, var3.b.b, "fgColor");
         }

         if (var1.isModified(35)) {
            a(var2, var3.b.c, "bgColor");
         }

         var2.b();
      }

      var2.b();
   }

   void a(zcfx var1, Style var2, String var3) throws Exception {
      if (var3 != null) {
         var1.b(var3 + ":dxf");
      } else {
         var1.b("dxf");
      }

      this.a(var1, var2);
      var1.b();
   }

   void a(zcfx var1, Style var2) throws Exception {
      if (var2.q() != null && var2.isModified(11)) {
         var1.b("font");
         a(var2, var2.getFont(), var1, "name");
         var1.b();
      }

      if (var2.isModified(24)) {
         int var3 = var2.r();
         if (var3 != -1 && var3 != 0) {
            var1.b("numFmt");
            var1.a("numFmtId", zase.y(var3));
            String var4 = var2.getCustom();
            if (var4 == null || var4.length() == 0) {
               if (var3 < 59) {
                  var4 = zase.x(var3);
               } else {
                  var4 = "";
               }
            }

            var1.a("formatCode", var4);
            var1.b();
         }
      }

      if (var2.isModified(33) || var2.isModified(34) || var2.isModified(35) || var2.isGradient()) {
         zon var5 = zon.a(var2);
         this.a(var2, var1, var5);
      }

      if (var2.isModified(38)) {
         znl var6 = znl.a(var2);
         if (var6 != null) {
            this.a(var1, var6, var2);
         }
      }

      if (var2.d() != null) {
         zno var7 = zno.b(var2);
         var1.b("border");
         if (var2.isModified(1)) {
            if (var2.isModified(8) && !var2.isModified(10)) {
               var1.a("diagonalUp", "0");
            }

            if (var2.isModified(8) && !var2.isModified(9)) {
               var1.a("diagonalDown", "0");
            }

            if (var2.isModified(2)) {
               this.a(var1, var7.c, "left");
            }

            if (var2.isModified(3)) {
               this.a(var1, var7.e, "right");
            }

            if (var2.isModified(4)) {
               this.a(var1, var7.b, "top");
            }

            if (var2.isModified(5)) {
               this.a(var1, var7.d, "bottom");
            }

            if (var2.isModified(8) || var2.isModified(9) || var2.isModified(10)) {
               this.a(var1, var7.f, "diagonal");
            }
         }

         if (var7.h != null) {
            this.a(var1, var7.h, "vertical");
         }

         if (var7.g != null) {
            this.a(var1, var7.g, "horizontal");
         }

         var1.b();
      }

      if (var2.isModified(36)) {
         zqd var8 = zqd.b(var2);
         this.a(var1, var8, true);
      }

   }
}
